La parte "Domande" ha la funzione di aiutare lo studente nell'autovalutazione e nell'individuazione degli argomenti che gli sono poco chiari. Le soluzioni non verranno fornite in classe. Il docente rimane comunque a disposizione per eventuali dubbi. Si fa notare che il modo migliore per le domande che riguardano linee di codice è quello di scrivere un breve programma di prova e compilarlo...
La parte "Esercizi di programmazione" contiene alcuni esercizi che gli studenti sono invitati a svolgere. Le soluzioni di alcuni di essi non verranno pubblicate, in quanto la verifica della loro correttezza può essere effettuata dagli stessi studenti scrivendo brevi moduli cliente.
int[][] array=new int[5][6]; for(int i=0;i<=array.length;i++){ for(int j=0;j<=array[j].length;j++){ System.out.println(array[i][j]); } }
int[][][] a=new int[][][]{{{1}}};
int[][] a=new int[4][4]; a[3]=new int[2]; b=a; a=a[2];
public static void main(String Args[]){ int a=5; if(cambia(a)) { System.out.println("questo lo stampo?"); } if(cambia(a)) { System.out.println(" e questo?"); } } static boolean cambia(int a){ a++; if(a % 2 == 0) return true; return false; }
public static void stampa(int a){ if(a > 10) return; stampa(a+1); System.out.println(a); }
int[] albero={0,1,5,2,4,-1,6,3,-1,-1,-1, -1,-1,7,8};ne stampa il contenuto effettuando una visita in profondità(3).
(1) Si ricorda che un albero binario è una struttura dati che può essere definita ricorsivamente come segue: "Un albero binario è costituito da un nodo, detto radice, e da due sottoalberi destro e sinistro, che sono a loro volta alberi binari. Ad ogni nodo è associato un valore."
(2) Si ricorda che un albero binario di profondità massima k può essere rappresentato tramite un array di dimensione (2^k)-1, in cui l'elemento di indice 0 rappresenta la radice dell'albero, i figli sinistro e destro del nodo di indice i hanno indice rispettivamente 2i e 2i+1, e la mancanza di un nodo si rappresenta con un valore speciale (ad es -1 se i nodi contengono interi).
(3) Si ricorda che nella visita in profondità (in preordine) di un albero binario si procede stampando la radice e poi visitando in profondità prima il sottoalbero sinistro e poi il sottoalbero destro.
(4) Si ricorda che un albero binario di ricerca è un'albero binario in cui il valore di un nodo è maggiore o uguale del valore di ciascun nodo contenuto nel suo sottoalbero sinistro, e minore o uguale del valore di ciascun nodo del suo sottoalbero destro.